package com.example.smartpark.dto;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 停车记录数据传输对象
 */
@Data
public class ParkingRecordDTO {

    /**
     * 停车记录ID
     */
    private Long id;

    /**
     * 车辆ID
     */
    @NotNull(message = "车辆ID不能为空")
    private Integer vehicleId;

    /**
     * 车牌号
     */
    private String plateNumber;

    /**
     * 车辆类型
     */
    private String vehicleType;

    /**
     * 车辆颜色
     */
    private String vehicleColor;

    /**
     * 车位ID
     */
    @NotNull(message = "车位ID不能为空")
    private Integer parkingSpaceId;

    /**
     * 车位编号
     */
    private String spaceNumber;

    /**
     * 停车场ID
     */
    private Integer parkingLotId;

    /**
     * 停车场名称
     */
    private String parkingLotName;

    /**
     * 预约ID
     */
    private Long reservationId;

    /**
     * 入场时间
     */
    private Date entryTime;

    /**
     * 出场时间
     */
    private Date exitTime;

    /**
     * 停车时长（分钟）
     */
    private Long parkingDuration;

    /**
     * 停车费用
     */
    private BigDecimal parkingFee;

    /**
     * 是否已支付（0-未支付，1-已支付）
     */
    private Integer isPaid;

    /**
     * 支付ID
     */
    private Integer paymentId;

    /**
     * 状态（0-进行中，1-已完成，2-异常）
     */
    private Integer status;

    /**
     * 状态描述
     */
    private String statusDesc;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 更新时间
     */
    private Date updatedAt;
} 